home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / MATH / FSULTRA1.ZIP / DEMO.FOR < prev    next >
Text File  |  1992-06-18  |  3KB  |  124 lines

  1. C FSU - ULTRA    The greatest random number generator that ever was
  2. C        or ever will be.  Way beyond Super-Duper.
  3. C        (Just kidding, but we think its a good one.)
  4. C
  5. C Authors:    Arif Zaman (arif@stat.fsu.edu) and
  6. C        George Marsaglia (geo@stat.fsu.edu).
  7. C
  8. C Date:        27 May 1992
  9. C
  10. C Version:    1.05
  11. C
  12. C Copyright:    To obtain permission to incorporate this program into
  13. C        any commercial product, please contact the authors at
  14. C        the e-mail address given above or at
  15. C
  16. C        Department of Statistics and
  17. C        Supercomputer Computations Research Institute
  18. C        Florida State University
  19. C        Tallahassee, FL 32306.
  20. C
  21. C See Also:    README        for a brief description
  22. C        ULTRA.DOC    for a detailed description
  23. C
  24. C-----------------------------------------------------------------------c
  25. c  This demo calls the various subroutines of ultra as a test
  26. c
  27.     external uni,vni,duni,dvni
  28.     external i32bit,i31bit,i16bit,i15bit,i8bit,i7bit,i1bit
  29.  
  30.     real*4     uni,     vni
  31.     real*8     duni,    dvni,    d(4)
  32.     integer*4  i32bit,  i31bit,  k(32)
  33.     integer*2  i16bit,  i15bit
  34.     integer*2  i8bit,   i7bit,   i1bit
  35.  
  36.     print 1
  37.     1   format (' A Sample Printout:')
  38.  
  39.     
  40.     do 106 i=1,10000
  41.     j=min(4,i)
  42.   106   k(j)=i32bit()
  43.     print 116,(k(j),j=1,4)
  44.   116   format (' No rinit call: ',4i16)
  45.  
  46.     call rinit(1234567,7654321)
  47.     do 6 i=1,10000
  48.     j=min(4,i)
  49.     6   k(j)=i32bit()
  50.     print 16,(k(j),j=1,4)
  51.    16   format (' Signed 4 byte: ',4i16)
  52.  
  53.     call rinit(1234567,7654321)
  54.     do 7 i=1,10000
  55.     j=min(4,i)
  56.     7   k(j)=i31bit()
  57.     print 17,(k(j),j=1,4)
  58.    17   format (' Uns. 4 byte:   ',4i16)
  59.  
  60.     call rinit(1234567,7654321)
  61.     do 8 i=1,10000
  62.     j=min(8,i)
  63.     8   k(j)=i16bit()
  64.     print 18,(k(j),j=1,8)
  65.    18   format (' Signed 2 byte: ',8i8)
  66.  
  67.     call rinit(1234567,7654321)
  68.     do 9 i=1,10000
  69.     j=min(8,i)
  70.     9   k(j)=i15bit()
  71.     print 19,(k(j),j=1,8)
  72.    19   format (' Uns. 2 byte:   ',8i8)
  73.  
  74.     call rinit(1234567,7654321)
  75.     do 10 i=1,10000
  76.     j=min(16,i)
  77.    10   k(j)=i8bit()
  78.     print 20,(k(j),j=1,16)
  79.    20   format (' Signed byte:   ',16i4)
  80.  
  81.     call rinit(1234567,7654321)
  82.     do 11 i=1,10000
  83.     j=min(16,i)
  84.    11   k(j)=i7bit()
  85.     print 21,(k(j),j=1,16)
  86.    21   format (' Uns. byte:     ',16i4)
  87.  
  88.     call rinit(1234567,7654321)
  89.     do 22 i=1,10000
  90.     j=min(32,i)
  91.    22   k(j)=i1bit()
  92.     print 23,(k(j),j=1,32)
  93.    23   format (' Random bits:   ',32i2)
  94.  
  95.     call rinit(1234567,7654321)
  96.     do 4 i=1,10000
  97.     j=min(4,i)
  98.     4   d(j)=vni()
  99.     print 14,(d(j),j=1,4)
  100.    14   format (' Signed Single: ',4f16.7)
  101.  
  102.     call rinit(1234567,7654321)
  103.     do 5 i=1,10000
  104.     j=min(4,i)
  105.     5   d(j)=uni()
  106.     print 15,(d(j),j=1,4)
  107.    15   format (' Uns. Single:   ',4f16.7)
  108.  
  109.     call rinit(1234567,7654321)
  110.     do 2 i=1,10000
  111.     j=min(2,i)
  112.     2   d(j)=dvni()
  113.     print 12,(d(j),j=1,2)
  114.    12   format (' Signed Double: ',2f32.15)
  115.  
  116.     call rinit(1234567,7654321)
  117.     do 3 i=1,10000
  118.     j=min(2,i)
  119.     3   d(j)=duni()
  120.     print 13,(d(j),j=1,2)
  121.    13   format (' Unsigned Dble: ',2f32.15)
  122.  
  123.     end
  124.